<html>
<head><meta charset="utf-8"><title>design meeting 2019-11-29 · t-compiler · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/index.html">t-compiler</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html">design meeting 2019-11-29</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="182183477"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182183477" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182183477">(Nov 29 2019 at 14:52)</a>:</h4>
<p>Hey <span class="user-group-mention" data-user-group-id="897">@T-compiler/meeting</span> , we'll be starting this week's design meeting in about 8 minutes</p>



<a name="182183486"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182183486" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182183486">(Nov 29 2019 at 14:52)</a>:</h4>
<p>this week's topic is the REPL extensions, <a href="https://github.com/rust-lang/compiler-team/issues/213" target="_blank" title="https://github.com/rust-lang/compiler-team/issues/213">compiler-team#213</a></p>



<a name="182183845"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182183845" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182183845">(Nov 29 2019 at 14:59)</a>:</h4>
<p>by the way, is <span class="user-mention" data-user-id="133169">@matklad</span> around?</p>



<a name="182183930"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182183930" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182183930">(Nov 29 2019 at 15:00)</a>:</h4>
<p>i ask because one of the items on the <a href="https://hackmd.io/GJokfI0wQ0i4SIgRbFTmfw" target="_blank" title="https://hackmd.io/GJokfI0wQ0i4SIgRbFTmfw">repl design hackmd</a> is a Virtual File System (VFS), which is something that is also used in rust-analyzer. I would like to know if the two pieces of functionality can/should be merged, if only as part of eventually "librarification"</p>



<a name="182183978"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182183978" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182183978">(Nov 29 2019 at 15:01)</a>:</h4>
<p>yeah, I guess I am around</p>



<a name="182184044"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182184044" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182184044">(Nov 29 2019 at 15:02)</a>:</h4>
<p><span class="user-mention" data-user-id="133169">@matklad</span> okay, just wanted to check. I can ping you again when we get around to talking about VFS stuffin that case, so that you don't have to be actively watching this topic?</p>



<a name="182184056"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182184056" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182184056">(Nov 29 2019 at 15:02)</a>:</h4>
<p>anyway, it is time to start the meeting, <span class="user-group-mention" data-user-group-id="897">@T-compiler/meeting</span> ! (add yourself to the <span aria-label="wave" class="emoji emoji-1f44b" role="img" title="wave">:wave:</span> to show you're here.)</p>



<a name="182184060"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182184060" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182184060">(Nov 29 2019 at 15:02)</a>:</h4>
<p>lets open with five minutes for</p>



<a name="182184062"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182184062" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182184062">(Nov 29 2019 at 15:02)</a>:</h4>
<h2>Announcements</h2>



<a name="182184223"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182184223" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182184223">(Nov 29 2019 at 15:05)</a>:</h4>
<p>someone privately pointed out I should cc <span class="user-mention" data-user-id="124069">@Alexander Regueiro</span> to make sure they know this meeting has started</p>



<a name="182184333"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182184333" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182184333">(Nov 29 2019 at 15:07)</a>:</h4>
<p>/me relies that they have an errand to attend to</p>



<a name="182184347"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182184347" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182184347">(Nov 29 2019 at 15:07)</a>:</h4>
<p><span class="user-mention" data-user-id="133169">@matklad</span> okay, that's alright; we can discuss VFS stuff async if need be</p>



<a name="182184354"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182184354" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182184354">(Nov 29 2019 at 15:07)</a>:</h4>
<p>I'll catch up with VFS discussion later, but my main question is: "why existing FileLoader interface is not enough for repl?"</p>



<a name="182184362"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182184362" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182184362">(Nov 29 2019 at 15:07)</a>:</h4>
<p>so at this point I have skimmed over the <a href="https://hackmd.io/GJokfI0wQ0i4SIgRbFTmfw" target="_blank" title="https://hackmd.io/GJokfI0wQ0i4SIgRbFTmfw">design hackmd</a> but I have not reviewed the comments from <a href="https://github.com/rust-lang/compiler-team/issues/213" target="_blank" title="https://github.com/rust-lang/compiler-team/issues/213">compiler-team#213</a></p>



<a name="182184508"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182184508" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182184508">(Nov 29 2019 at 15:10)</a>:</h4>
<p>I'm not sure if <span class="user-mention" data-user-id="124069">@Alexander Regueiro</span> is absent; Zulip's UI claims they were active "just now"</p>



<a name="182184552"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182184552" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> bjorn3 <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182184552">(Nov 29 2019 at 15:10)</a>:</h4>
<p>The <a href="https://doc.rust-lang.org/nightly/nightly-rustc/syntax/source_map/trait.FileLoader.html#tymethod.read_file" target="_blank" title="https://doc.rust-lang.org/nightly/nightly-rustc/syntax/source_map/trait.FileLoader.html#tymethod.read_file"><code>FileLoader::read_file</code></a> returns a string, while the incr cache is binary data.</p>



<a name="182184587"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182184587" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> bjorn3 <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182184587">(Nov 29 2019 at 15:10)</a>:</h4>
<p>So at least the current <code>FileLoader</code> interface is not enough for this usage.</p>



<a name="182184602"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182184602" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182184602">(Nov 29 2019 at 15:11)</a>:</h4>
<p>A decent summary I think is that it's not entirely clear that everything is warranted - but it's also not clear that we should try to design perfectly here, or just accept the changes in a series of PRs with the thought being that ultimately it may not matter that much</p>



<a name="182184609"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182184609" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182184609">(Nov 29 2019 at 15:11)</a>:</h4>
<p>lets maybe start by doing a big picture overview and some questions</p>



<a name="182184621"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182184621" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182184621">(Nov 29 2019 at 15:11)</a>:</h4>
<p><span class="user-mention" data-user-id="133247">@bjorn3</span> do you think you can represent <span class="user-mention" data-user-id="124069">@Alexander Regueiro</span> 's POV in their absence?</p>



<a name="182184702"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182184702" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182184702">(Nov 29 2019 at 15:12)</a>:</h4>
<p>(by represent POV, I really just mean "correct mistakes I make in my attempt to present things.")</p>



<a name="182184757"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182184757" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> bjorn3 <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182184757">(Nov 29 2019 at 15:13)</a>:</h4>
<p><span class="user-mention" data-user-id="116083">@pnkfelix</span>  All I know about the design come from the HackMD file.</p>



<a name="182184824"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182184824" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182184824">(Nov 29 2019 at 15:14)</a>:</h4>
<p>oh okay. Well, I guess I will just have to press on ahead and hope I don't get too many details wrong</p>



<a name="182184828"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182184828" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182184828">(Nov 29 2019 at 15:14)</a>:</h4>
<p>I can maybe help correct mistakes</p>



<a name="182184853"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182184853" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182184853">(Nov 29 2019 at 15:14)</a>:</h4>
<p><del>we can start with an easy thing: the miri engine memory and machine changes</del> nevermind, high level start is better</p>



<a name="182184860"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182184860" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182184860">(Nov 29 2019 at 15:14)</a>:</h4>
<p>So the <a href="https://hackmd.io/GJokfI0wQ0i4SIgRbFTmfw" target="_blank" title="https://hackmd.io/GJokfI0wQ0i4SIgRbFTmfw">design doc</a> lays out the big level structure of a REPL</p>



<a name="182184896"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182184896" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182184896">(Nov 29 2019 at 15:15)</a>:</h4>
<p>Read (to an AST), Compile (AST to MIR), Eval (the MIR to a value), Print (the value). and Loop.</p>



<a name="182184986"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182184986" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182184986">(Nov 29 2019 at 15:16)</a>:</h4>
<p>before we get into too many low level details, I want to start with a really basic question: Is this going to be a tool analogous to Miri, where check-in's that break it may not break CI immediately, but rather will just file follow-up bugs?</p>



<a name="182185018"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182185018" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> bjorn3 <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182185018">(Nov 29 2019 at 15:17)</a>:</h4>
<p>it has to be, as it depends on miri</p>



<a name="182185023"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182185023" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182185023">(Nov 29 2019 at 15:17)</a>:</h4>
<p>or do we not know if it will even file follow-up bugs</p>



<a name="182185028"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182185028" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182185028">(Nov 29 2019 at 15:17)</a>:</h4>
<p>I think the initial intent is even less - it won't be a submodule at all</p>



<a name="182185113"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182185113" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182185113">(Nov 29 2019 at 15:18)</a>:</h4>
<p>(note also that current architecture is not a dependency on miri, but rather a fork of miri)</p>



<a name="182185115"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182185115" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182185115">(Nov 29 2019 at 15:18)</a>:</h4>
<p>so that means that if we (rustc developers) make breaking changes to the compiler, we won't necessarily know, right? Unless REPL developers add appropriate unit tests to rustc's test suite ?</p>



<a name="182185134"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182185134" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182185134">(Nov 29 2019 at 15:18)</a>:</h4>
<p>as it says in the design doc:</p>
<blockquote>
<p>but for now I shall take it upon myself to observe such breakages in a semi-automated (e.g., cronjob) or manual fashion, and update my REPL repository in accordance, thus offloading any significant maintenance burden from the compiler team.</p>
</blockquote>



<a name="182185140"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182185140" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182185140">(Nov 29 2019 at 15:18)</a>:</h4>
<p>Correct. But I believe this is considered acceptable for now.</p>



<a name="182185167"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182185167" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182185167">(Nov 29 2019 at 15:18)</a>:</h4>
<p>okay</p>



<a name="182185200"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182185200" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182185200">(Nov 29 2019 at 15:19)</a>:</h4>
<p>that's how miri and clippy started essentially. Now that we have a good tooling setup, we can move to a submodule faster though</p>



<a name="182185333"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182185333" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182185333">(Nov 29 2019 at 15:21)</a>:</h4>
<p>okay. I suppose I am willing to trust that the pieces added to the compiler will be sufficiently well-documented that we shouldn't be stressing too hard about trying to grep across github for how they are used.</p>



<a name="182185409"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182185409" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182185409">(Nov 29 2019 at 15:22)</a>:</h4>
<p>We could use <code>// REPL: foo</code> comments on all of them</p>



<a name="182185433"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182185433" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182185433">(Nov 29 2019 at 15:22)</a>:</h4>
<p>the <a href="https://hackmd.io/GJokfI0wQ0i4SIgRbFTmfw#Modifications-to-rustc" target="_blank" title="https://hackmd.io/GJokfI0wQ0i4SIgRbFTmfw#Modifications-to-rustc">design doc</a> provides a specific list of proposed modifications. Some of them are labelled non-essential; the others are presumably essential for REPL support</p>



<a name="182185443"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182185443" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182185443">(Nov 29 2019 at 15:22)</a>:</h4>
<p>occasionally things have been made private or removed because ppl saw they were unsued in rustc, so adding annotations helps</p>



<a name="182185459"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182185459" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182185459">(Nov 29 2019 at 15:23)</a>:</h4>
<p>so one way we could run this meeting is to just walk through all of the proposed essential changes, and make sure we are comfortable with just that minimal list</p>



<a name="182185486"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182185486" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182185486">(Nov 29 2019 at 15:23)</a>:</h4>
<p>(because if someone vetos an essential piece of this, then we really do need to make sure we loop <span class="user-mention" data-user-id="124069">@Alexander Regueiro</span>  into the conversation)</p>



<a name="182185541"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182185541" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182185541">(Nov 29 2019 at 15:24)</a>:</h4>
<p>so lets see, lets follow the order given in the doc</p>



<a name="182185545"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182185545" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182185545">(Nov 29 2019 at 15:24)</a>:</h4>
<h3>Added an “interpreter mode” to the compiler interface.</h3>



<a name="182185589"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182185589" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182185589">(Nov 29 2019 at 15:25)</a>:</h4>
<p>At first I didn't understand why this needed to be used to "prevent dead user variables from being optimised away." -- but I'm inferring that the problem there is when you do <code>let x = ...</code> in the repl, you want <code>x</code> to be kept around for the future repl inputs, right?</p>



<a name="182185600"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182185600" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182185600">(Nov 29 2019 at 15:25)</a>:</h4>
<p>yes</p>



<a name="182185611"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182185611" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182185611">(Nov 29 2019 at 15:25)</a>:</h4>
<p>otherwise the memory of the locals will have the wrong indices</p>



<a name="182185663"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182185663" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182185663">(Nov 29 2019 at 15:26)</a>:</h4>
<p>since the previous function's locals' memory is restored, if the MIR changes (except for adding more code), that's bad</p>



<a name="182185674"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182185674" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182185674">(Nov 29 2019 at 15:26)</a>:</h4>
<p>okay. Out of curiosity, are there other contexts where one would want that optimization to be disabled?</p>



<a name="182185680"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182185680" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182185680">(Nov 29 2019 at 15:26)</a>:</h4>
<p>probably not, this is  a very specific use case</p>



<a name="182185686"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182185686" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182185686">(Nov 29 2019 at 15:26)</a>:</h4>
<p>e.g. when you run under a debugger, for example? But I guess that's handled already for user-visible variables anyway?</p>



<a name="182185689"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182185689" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182185689">(Nov 29 2019 at 15:26)</a>:</h4>
<p>any REPL design will need this, but I don't know of anything else that would want that</p>



<a name="182185719"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182185719" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182185719">(Nov 29 2019 at 15:27)</a>:</h4>
<p>I guess its a question only for when you need to support introspection</p>



<a name="182185720"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182185720" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182185720">(Nov 29 2019 at 15:27)</a>:</h4>
<p>Patching a running binary, perhaps</p>



<a name="182185769"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182185769" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182185769">(Nov 29 2019 at 15:27)</a>:</h4>
<p>The reason I ask the question is to try to figure out if, in that case, there is a more general feature waiting to be exposed here.</p>



<a name="182185814"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182185814" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182185814">(Nov 29 2019 at 15:28)</a>:</h4>
<p>Not sure if <code>mir-opt-level=0</code> will leave in the variables</p>



<a name="182185816"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182185816" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182185816">(Nov 29 2019 at 15:28)</a>:</h4>
<p>but for now, I think its fine to have this functionality under an Interpreter boolean flag.</p>



<a name="182185819"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182185819" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> bjorn3 <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182185819">(Nov 29 2019 at 15:28)</a>:</h4>
<p>If you want to reintroduce a variable in the next eval, you would need to know which are being defined previously. You can then as well add something to keep the variables alive, like "next_repl_round(&amp;[&amp;var1, &amp;var2])"</p>



<a name="182185845"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182185845" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182185845">(Nov 29 2019 at 15:28)</a>:</h4>
<p>that.... would work, too</p>



<a name="182185864"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182185864" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182185864">(Nov 29 2019 at 15:29)</a>:</h4>
<p>I suppose I should have asked this question up above: the design being propsed</p>



<a name="182185871"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182185871" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182185871">(Nov 29 2019 at 15:29)</a>:</h4>
<p>says "We then prepend local variables from previous evaluation sessions"</p>



<a name="182185894"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182185894" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182185894">(Nov 29 2019 at 15:29)</a>:</h4>
<p>is that mean to be interpreted as "we prepend <del>MIR</del> statements of the form <code>let FOO = EXPR</code>, N times", where N is the number of previous repl invocations?</p>



<a name="182185967"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182185967" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182185967">(Nov 29 2019 at 15:30)</a>:</h4>
<p>I guess, but additionally some attributes are added</p>



<a name="182185978"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182185978" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182185978">(Nov 29 2019 at 15:30)</a>:</h4>
<p>I was personally wondering whether it would make more sense to have the generated closure take parameters</p>



<a name="182185984"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182185984" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182185984">(Nov 29 2019 at 15:31)</a>:</h4>
<p>and then you feed in the computed values</p>



<a name="182185995"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182185995" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> bjorn3 <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182185995">(Nov 29 2019 at 15:31)</a>:</h4>
<p>I think it is more like for each live variable add "#[rustc_repl_alive] let var: type;"</p>



<a name="182186010"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182186010" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182186010">(Nov 29 2019 at 15:31)</a>:</h4>
<p>but this is just a design detail</p>



<a name="182186038"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182186038" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> bjorn3 <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182186038">(Nov 29 2019 at 15:31)</a>:</h4>
<p>taking parameters would be problematic with stack pinning, i guess</p>



<a name="182186041"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182186041" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182186041">(Nov 29 2019 at 15:31)</a>:</h4>
<p>whether you have arguments or locals makes little difference, in MIR everything is a local</p>



<a name="182186084"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182186084" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182186084">(Nov 29 2019 at 15:32)</a>:</h4>
<p>yea, also references to other locals would be a bit messy</p>



<a name="182186098"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182186098" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182186098">(Nov 29 2019 at 15:32)</a>:</h4>
<p>anyway, the design doc points out other things that are guarded by the Intepreter flag: "a REPL-only intrinsic for casting a value to <code>dyn Debug</code>", and a guard to ensure things meant to be interpreter-only stay interpreter-only.</p>



<a name="182186154"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182186154" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182186154">(Nov 29 2019 at 15:33)</a>:</h4>
<blockquote>
<p>whether you have arguments or locals makes little difference, in MIR everything is a local</p>
</blockquote>
<p>well, the ancient REPL we had prior to Rust 1.0 did something pretty dumb where it really did prepend the entirety of all the previous REPL inputs to the curent input.</p>



<a name="182186168"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182186168" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182186168">(Nov 29 2019 at 15:33)</a>:</h4>
<p>so you did O(N) work on each repl invocation.</p>



<a name="182186180"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182186180" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182186180">(Nov 29 2019 at 15:34)</a>:</h4>
<p>I'm not quite sure why that intrinsic is needed. I believe we could generate a bit of MIR that does the downcasting directly, but I'm probably missing something</p>



<a name="182186181"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182186181" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> bjorn3 <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182186181">(Nov 29 2019 at 15:34)</a>:</h4>
<p><a href="https://github.com/murarth/rusti" target="_blank" title="https://github.com/murarth/rusti">https://github.com/murarth/rusti</a>?</p>



<a name="182186236"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182186236" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182186236">(Nov 29 2019 at 15:34)</a>:</h4>
<blockquote>
<p>so you did O(N) work on each repl invocation.</p>
</blockquote>
<p>that doesn't happen, computation starts at the new commands</p>



<a name="182186241"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182186241" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182186241">(Nov 29 2019 at 15:34)</a>:</h4>
<blockquote>
<p><a href="https://github.com/murarth/rusti" target="_blank" title="https://github.com/murarth/rusti">https://github.com/murarth/rusti</a>?</p>
</blockquote>
<p>the one I'm thinking of ... used to be part of the project itself (I think).</p>



<a name="182186252"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182186252" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182186252">(Nov 29 2019 at 15:34)</a>:</h4>
<p>that's why the memory of the previous locals needs to be restored</p>



<a name="182186258"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182186258" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182186258">(Nov 29 2019 at 15:34)</a>:</h4>
<p>okay.</p>



<a name="182186286"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182186286" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182186286">(Nov 29 2019 at 15:35)</a>:</h4>
<p>so far, it seems like no one (including me)  is saying that an Interpreter boolean flag is a terrible thing</p>



<a name="182186299"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182186299" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182186299">(Nov 29 2019 at 15:35)</a>:</h4>
<p>so I think we can safely move to the next essential addition.</p>



<a name="182186353"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182186353" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182186353">(Nov 29 2019 at 15:36)</a>:</h4>
<h3>built-in attribute for marking the “user fn” and a <code>TyCtxt</code> query for locating and caching it’s <code>DefId</code></h3>



<a name="182186355"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182186355" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182186355">(Nov 29 2019 at 15:36)</a>:</h4>
<p>Apologies, all. I've been very unwell today, and my whole sense of time and schedule seems to have gone out the window!</p>



<a name="182186363"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182186363" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182186363">(Nov 29 2019 at 15:36)</a>:</h4>
<p>although wait, both bullets under that are marked non-essential</p>



<a name="182186368"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182186368" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182186368">(Nov 29 2019 at 15:36)</a>:</h4>
<p>I'm glad you've managed to proceed without me, it seems...</p>



<a name="182186376"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182186376" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> bjorn3 <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182186376">(Nov 29 2019 at 15:36)</a>:</h4>
<blockquote>
<p>I'm not quite sure why that intrinsic is needed. I believe we could generate a bit of MIR that does the downcasting directly, but I'm probably missing something</p>
</blockquote>
<p>That is not possible at the syntax level when the closure is generated.</p>



<a name="182186381"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182186381" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182186381">(Nov 29 2019 at 15:36)</a>:</h4>
<p><span class="user-mention" data-user-id="124069">@Alexander Regueiro</span> we're currently walking through just the essential items</p>



<a name="182186383"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182186383" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182186383">(Nov 29 2019 at 15:37)</a>:</h4>
<p>oh right, we don't generate MIR</p>



<a name="182186393"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182186393" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182186393">(Nov 29 2019 at 15:37)</a>:</h4>
<p>am I right in inferring that the attribute for marking the user fn is actually non-essential ?</p>



<a name="182186396"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182186396" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182186396">(Nov 29 2019 at 15:37)</a>:</h4>
<p>yeah, just looking through the backlog quickly now :-)</p>



<a name="182186402"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182186402" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182186402">(Nov 29 2019 at 15:37)</a>:</h4>
<p>that's my impression, though it's certainly helpful</p>



<a name="182186404"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182186404" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182186404">(Nov 29 2019 at 15:37)</a>:</h4>
<p>but at the syntax level you could just generate <code>let x: &amp;dyn Debug = &foo;</code> right?</p>



<a name="182186420"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182186420" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182186420">(Nov 29 2019 at 15:37)</a>:</h4>
<p>it's also a very minimal addition (i.e., basically just reserving the attribute or so)</p>



<a name="182186469"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182186469" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182186469">(Nov 29 2019 at 15:38)</a>:</h4>
<p>okay</p>



<a name="182186471"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182186471" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182186471">(Nov 29 2019 at 15:38)</a>:</h4>
<p>about the attribute, why can't we reuse the <code>tcx.entry_fn(LOCAL_CRATE)</code> ?</p>



<a name="182186476"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182186476" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182186476">(Nov 29 2019 at 15:38)</a>:</h4>
<p>still lets move along just to make sure we get through the list of essential things</p>



<a name="182186484"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182186484" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182186484">(Nov 29 2019 at 15:38)</a>:</h4>
<p>is the closure inside main necessary or could the code also just be inside <code>main</code>?</p>



<a name="182186505"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182186505" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182186505">(Nov 29 2019 at 15:38)</a>:</h4>
<p>(because we are at the 38 minute mark, and I'd ideally like for us to at least ensure that we finish the Essentials list and then double-check if we're happy with the list of changes.)</p>



<a name="182186522"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182186522" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182186522">(Nov 29 2019 at 15:39)</a>:</h4>
<p>so the next item is a set of Miri changes</p>



<a name="182186531"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182186531" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182186531">(Nov 29 2019 at 15:39)</a>:</h4>
<h3>Slightly expanded miri API</h3>



<a name="182186546"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182186546" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182186546">(Nov 29 2019 at 15:39)</a>:</h4>
<p>"Added insert_alloc method to machine, used by REPL for restoring memory when deserialising previous evaluation session."</p>



<a name="182186559"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182186559" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182186559">(Nov 29 2019 at 15:39)</a>:</h4>
<p>makes total sense, let's add it and leave a comment that it's for the REPL</p>



<a name="182186567"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182186567" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182186567">(Nov 29 2019 at 15:39)</a>:</h4>
<p>I take it this is what you were talking about <a href="#narrow/stream/131828-t-compiler/topic/design.20meeting.202019-11-29/near/182186252" title="#narrow/stream/131828-t-compiler/topic/design.20meeting.202019-11-29/near/182186252">above</a>, <span class="user-mention" data-user-id="124288">@oli</span>  ?</p>



<a name="182186608"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182186608" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182186608">(Nov 29 2019 at 15:40)</a>:</h4>
<p>I believe it's needed to restore a static's memory?</p>



<a name="182186621"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182186621" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182186621">(Nov 29 2019 at 15:40)</a>:</h4>
<p>Sure</p>



<a name="182186654"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182186654" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182186654">(Nov 29 2019 at 15:40)</a>:</h4>
<p>or is it for the incremental support, where the REPL wants its memory restored across distinct sessions of the REPL itself?</p>



<a name="182186672"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182186672" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182186672">(Nov 29 2019 at 15:41)</a>:</h4>
<p>well, the regular locals must be in InterpCx memory, otherwise you can't modify it</p>



<a name="182186686"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182186686" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> bjorn3 <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182186686">(Nov 29 2019 at 15:41)</a>:</h4>
<p>Can <code>machine.alloc_map.insert</code> be used instead? Or is this about preserving the <code>AllocId</code>?</p>



<a name="182186687"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182186687" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182186687">(Nov 29 2019 at 15:41)</a>:</h4>
<p>well, the <code>insert_alloc</code> is needed to restore Miri's dynamic memory, AFAIR</p>



<a name="182186693"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182186693" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182186693">(Nov 29 2019 at 15:41)</a>:</h4>
<p>huh?</p>



<a name="182186696"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182186696" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182186696">(Nov 29 2019 at 15:41)</a>:</h4>
<p>you can't mutate that memory</p>



<a name="182186740"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182186740" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182186740">(Nov 29 2019 at 15:42)</a>:</h4>
<p>everything inside <code>alloc_map</code> is forever frozen</p>



<a name="182186778"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182186778" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182186778">(Nov 29 2019 at 15:42)</a>:</h4>
<p>so in order to keep <code>AllocId</code>s to constants and statics working, this needs to be somewhere</p>



<a name="182186798"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182186798" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182186798">(Nov 29 2019 at 15:43)</a>:</h4>
<p>while it could be in InterpCx memory, that would just unnecessarily complicate things</p>



<a name="182186800"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182186800" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> bjorn3 <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182186800">(Nov 29 2019 at 15:43)</a>:</h4>
<p>That's only the <code>tcx.alloc_map</code>, right? I meant the <code>alloc_map</code> of the machine.</p>



<a name="182186827"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182186827" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182186827">(Nov 29 2019 at 15:43)</a>:</h4>
<p>yes, I'm talking of that too</p>



<a name="182186840"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182186840" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182186840">(Nov 29 2019 at 15:44)</a>:</h4>
<p>ah, so it's being pushed into the <code>Memory</code></p>



<a name="182186880"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182186880" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182186880">(Nov 29 2019 at 15:44)</a>:</h4>
<p>this</p>



<a name="182186882"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182186882" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182186882">(Nov 29 2019 at 15:44)</a>:</h4>
<p><code>pub type MiriMemory&lt;'mir, 'tcx&gt; = Memory&lt;'mir, 'tcx, Evaluator&lt;'tcx&gt;&gt;;</code></p>



<a name="182186884"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182186884" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182186884">(Nov 29 2019 at 15:44)</a>:</h4>
<p>can't you access the <code>Memory</code> directly?</p>



<a name="182186886"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182186886" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182186886">(Nov 29 2019 at 15:44)</a>:</h4>
<p>(in my fork of miri)</p>



<a name="182186898"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182186898" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182186898">(Nov 29 2019 at 15:44)</a>:</h4>
<p>why does it need a machine function?</p>



<a name="182186942"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182186942" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182186942">(Nov 29 2019 at 15:45)</a>:</h4>
<p>(also why is this restoring done per alloc instead of "just" implementing <code>RustcSerialize</code> and <code>RustcDeserialize</code> on <code>Memory</code>?</p>



<a name="182187007"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182187007" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182187007">(Nov 29 2019 at 15:46)</a>:</h4>
<p>btw everyone here's the <code>Memory</code> type we're talking about: <a href="https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir/interpret/struct.Memory.html" target="_blank" title="https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir/interpret/struct.Memory.html">https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir/interpret/struct.Memory.html</a></p>



<a name="182187017"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182187017" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182187017">(Nov 29 2019 at 15:46)</a>:</h4>
<p>the <code>alloc_map</code> field is <code>pub(super)</code></p>



<a name="182187024"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182187024" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182187024">(Nov 29 2019 at 15:46)</a>:</h4>
<p>so basically, yes</p>



<a name="182187067"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182187067" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182187067">(Nov 29 2019 at 15:47)</a>:</h4>
<p>so, re having <code>Memory</code> itself serialisable... there was a reason, let me recall</p>



<a name="182187068"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182187068" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182187068">(Nov 29 2019 at 15:47)</a>:</h4>
<p>ok, so it would need a public function on <code>Memory</code> to insert entries with specific ids</p>



<a name="182187076"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182187076" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182187076">(Nov 29 2019 at 15:47)</a>:</h4>
<p>makes sense</p>



<a name="182187080"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182187080" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182187080">(Nov 29 2019 at 15:47)</a>:</h4>
<p>right</p>



<a name="182187085"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182187085" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182187085">(Nov 29 2019 at 15:47)</a>:</h4>
<p>so we don't need to finalize the details here now</p>



<a name="182187086"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182187086" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182187086">(Nov 29 2019 at 15:47)</a>:</h4>
<p>possibly with some behaviour like <code>insert_same</code>. I wasn't sure.</p>



<a name="182187090"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182187090" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182187090">(Nov 29 2019 at 15:47)</a>:</h4>
<p>yes, good point <span class="user-mention" data-user-id="116083">@pnkfelix</span>. let's not get bogged down in details..</p>



<a name="182187092"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182187092" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182187092">(Nov 29 2019 at 15:47)</a>:</h4>
<p>right</p>



<a name="182187097"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182187097" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182187097">(Nov 29 2019 at 15:48)</a>:</h4>
<p>the broader point is, it sounds like <span class="user-mention" data-user-id="124288">@oli</span> agrees that some change is needed here to accomplish this</p>



<a name="182187131"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182187131" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182187131">(Nov 29 2019 at 15:48)</a>:</h4>
<p>yes</p>



<a name="182187155"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182187155" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182187155">(Nov 29 2019 at 15:48)</a>:</h4>
<p>but it sounds like an appropriate change  can be worked out between you all</p>



<a name="182187156"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182187156" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182187156">(Nov 29 2019 at 15:48)</a>:</h4>
<p>we can do the serialize vs manual discussion elsewhere</p>



<a name="182187180"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182187180" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182187180">(Nov 29 2019 at 15:48)</a>:</h4>
<p>likewise, there is a family of API changes described  as</p>



<a name="182187185"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182187185" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182187185">(Nov 29 2019 at 15:48)</a>:</h4>
<p>BTW, the closure in main is needed to have an type-inferred return value :-)</p>



<a name="182187186"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182187186" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182187186">(Nov 29 2019 at 15:48)</a>:</h4>
<h3>Added hooks before_statement, after_statement, before_stack_push (renamed existing method), after_stack_push, before_stack_pop, after_stack_pop (renamed existing method).</h3>



<a name="182187196"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182187196" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182187196">(Nov 29 2019 at 15:49)</a>:</h4>
<p>which for obvious reasons is desirable in a REPL</p>



<a name="182187200"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182187200" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182187200">(Nov 29 2019 at 15:49)</a>:</h4>
<p>yea these can just happen,</p>



<a name="182187207"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182187207" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182187207">(Nov 29 2019 at 15:49)</a>:</h4>
<p>I assume these hooks are fine</p>



<a name="182187213"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182187213" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182187213">(Nov 29 2019 at 15:49)</a>:</h4>
<p>and then there's this:</p>



<a name="182187216"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182187216" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182187216">(Nov 29 2019 at 15:49)</a>:</h4>
<p>they seem... consistent?</p>



<a name="182187217"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182187217" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182187217">(Nov 29 2019 at 15:49)</a>:</h4>
<h3>Made stack pop behaviour more flexible, so as to allow the cleanup flag to be independent of wherever the action is null or a “goto”.</h3>



<a name="182187230"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182187230" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182187230">(Nov 29 2019 at 15:49)</a>:</h4>
<p>hopefully @oli is okay with them</p>



<a name="182187236"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182187236" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182187236">(Nov 29 2019 at 15:49)</a>:</h4>
<p>I think there were recent changes about the cleanup that may make that obsolete</p>



<a name="182187237"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182187237" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182187237">(Nov 29 2019 at 15:49)</a>:</h4>
<p>the latter is "even more" necessary, yes</p>



<a name="182187240"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182187240" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182187240">(Nov 29 2019 at 15:49)</a>:</h4>
<p>Can you describe the stack pop changes, <span class="user-mention" data-user-id="124069">@Alexander Regueiro</span> ?</p>



<a name="182187243"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182187243" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182187243">(Nov 29 2019 at 15:49)</a>:</h4>
<p>oh right</p>



<a name="182187244"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182187244" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182187244">(Nov 29 2019 at 15:49)</a>:</h4>
<p>the the Machine changes are good</p>



<a name="182187316"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182187316" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182187316">(Nov 29 2019 at 15:50)</a>:</h4>
<blockquote>
<p>BTW, the closure in main is needed to have an type-inferred return value :-)</p>
</blockquote>
<p>couldn't you also generate <code>let value = expr;</code> where the <code>expr</code> is the last statement by the user?</p>



<a name="182187352"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182187352" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182187352">(Nov 29 2019 at 15:51)</a>:</h4>
<p><span class="user-mention" data-user-id="116083">@pnkfelix</span> basically, it's important that we can exit a block / pop off the stack but still <em>not</em> perform cleanup (so as to be able to serialise the values of the locals when execution is done).</p>



<a name="182187353"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182187353" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182187353">(Nov 29 2019 at 15:51)</a>:</h4>
<p>/me idly wonders if <code>let value = expr;</code> gets into problems with r-value lifetime rules</p>



<a name="182187365"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182187365" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182187365">(Nov 29 2019 at 15:51)</a>:</h4>
<p>that wasn't possible before.</p>



<a name="182187378"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182187378" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182187378">(Nov 29 2019 at 15:51)</a>:</h4>
<p>but perhaps it is now, even without my changes, if miri has been modified since.</p>



<a name="182187384"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182187384" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182187384">(Nov 29 2019 at 15:51)</a>:</h4>
<p>either way, something of that ilk is needed.</p>



<a name="182187398"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182187398" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182187398">(Nov 29 2019 at 15:51)</a>:</h4>
<p>ah I see, the cleanup here is the running of destructors and what not?</p>



<a name="182187458"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182187458" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182187458">(Nov 29 2019 at 15:52)</a>:</h4>
<p>probably not running destructors, but clearing the locals's memory</p>



<a name="182187465"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182187465" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182187465">(Nov 29 2019 at 15:52)</a>:</h4>
<p>makes sense that we need to do something there</p>



<a name="182187490"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182187490" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182187490">(Nov 29 2019 at 15:52)</a>:</h4>
<p>okay then. So it sounds like <span class="user-mention" data-user-id="124288">@oli</span> is cool with that too</p>



<a name="182187510"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182187510" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182187510">(Nov 29 2019 at 15:52)</a>:</h4>
<p>the remaining bullet in the <a href="https://hackmd.io/GJokfI0wQ0i4SIgRbFTmfw#Modifications-to-rustc" target="_blank" title="https://hackmd.io/GJokfI0wQ0i4SIgRbFTmfw#Modifications-to-rustc">design doc</a> is marked <strong>Non-Essential</strong></p>



<a name="182187513"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182187513" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182187513">(Nov 29 2019 at 15:53)</a>:</h4>
<p>modulo details but we'll figure sth out that works</p>



<a name="182187527"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182187527" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182187527">(Nov 29 2019 at 15:53)</a>:</h4>
<p><span class="user-mention" data-user-id="124288">@oli</span> yes, that would be acceptable, I think, but would involve some more manipulation of the AST which seemed unnecessary. (that is, this seemed the simpler solution, at no noteworthy performance hit.)</p>



<a name="182187535"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182187535" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182187535">(Nov 29 2019 at 15:53)</a>:</h4>
<p>so maybe, given that we are at the 53 minute mark, it is a good time to take stock with what we've discussed so far</p>



<a name="182187546"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182187546" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182187546">(Nov 29 2019 at 15:53)</a>:</h4>
<p>it seems like these changes are indeed relatively non-invasive</p>



<a name="182187550"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182187550" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182187550">(Nov 29 2019 at 15:53)</a>:</h4>
<p>cool</p>



<a name="182187561"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182187561" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182187561">(Nov 29 2019 at 15:53)</a>:</h4>
<p>and the main active stake-holder present (<span class="user-mention" data-user-id="124288">@oli</span> ) is agreeable to them</p>



<a name="182187605"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182187605" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> bjorn3 <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182187605">(Nov 29 2019 at 15:54)</a>:</h4>
<blockquote>
<p><span class="user-mention silent" data-user-id="116083">pnkfelix</span> basically, it's important that we can exit a block / pop off the stack but still <em>not</em> perform cleanup (so as to be able to serialise the values of the locals when execution is done).</p>
</blockquote>
<p>Quoting myself</p>
<blockquote>
<p>If you want to reintroduce a variable in the next eval, you would need to know which are being defined previously. You can then as well add something to keep the variables alive, like "next_repl_round(&amp;[&amp;var1, &amp;var2])"</p>
</blockquote>
<p><code>next_repl_round</code> could just abort execution, so that the values can get saved without running the destructors.</p>



<a name="182187654"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182187654" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182187654">(Nov 29 2019 at 15:54)</a>:</h4>
<p><span class="user-mention" data-user-id="133247">@bjorn3</span> that's a bit awkward, because they can get destructed as soon as the block ends (not even the fn) which is before the "user fn" ends even</p>



<a name="182187677"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182187677" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182187677">(Nov 29 2019 at 15:55)</a>:</h4>
<p>but I also know from the comment thread that <span class="user-mention" data-user-id="116122">@simulacrum</span> had some concerns, largely about wanting to be sure, before we commit, that this design was the one we want to commit to/</p>



<a name="182187725"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182187725" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182187725">(Nov 29 2019 at 15:55)</a>:</h4>
<p>well some of the design points are universal</p>



<a name="182187770"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182187770" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182187770">(Nov 29 2019 at 15:56)</a>:</h4>
<p>any REPL would need them</p>



<a name="182187794"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182187794" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> bjorn3 <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182187794">(Nov 29 2019 at 15:56)</a>:</h4>
<p><span class="user-mention" data-user-id="124069">@Alexander Regueiro</span> When taking a reference to them as arguments, the variables must be kept alive.</p>



<a name="182187803"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182187803" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182187803">(Nov 29 2019 at 15:56)</a>:</h4>
<p>yes. we ha a number of discussions before this meeting (a few weeks ago) and I even shared my prototype REPL repo with him. he basically said "I understand why you took these design decisions, I'm not 100% convinced I agree with all of them, but equally I don't have major objections at this point in time". that was a couple of weeks ago at least. I hope I'm not misrepresenting his view, and it hasn't changed much since then, but yeah...</p>



<a name="182187809"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182187809" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182187809">(Nov 29 2019 at 15:56)</a>:</h4>
<p>I think the main point was from  <a href="https://github.com/rust-lang/compiler-team/issues/213#issuecomment-550115205" target="_blank" title="https://github.com/rust-lang/compiler-team/issues/213#issuecomment-550115205">this comment</a>: </p>
<blockquote>
<p>it's a bit unusual for us to be accepting changes to make other projects viable into the tree proper</p>
</blockquote>



<a name="182187814"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182187814" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182187814">(Nov 29 2019 at 15:56)</a>:</h4>
<p>did Niko end up leaving notes on his thoughts about the design doc? I know he told me he would... but no worries if not.</p>



<a name="182187819"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182187819" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182187819">(Nov 29 2019 at 15:57)</a>:</h4>
<p>yes</p>



<a name="182187839"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182187839" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182187839">(Nov 29 2019 at 15:57)</a>:</h4>
<p>and we all agreed it's far from typical, but (I think) not unheard of, e.g. miri in its earlier days, priroda, clippy..</p>



<a name="182187845"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182187845" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182187845">(Nov 29 2019 at 15:57)</a>:</h4>
<p>right</p>



<a name="182187855"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182187855" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182187855">(Nov 29 2019 at 15:57)</a>:</h4>
<p>and I think its fair to say that the changes, as described here, all sounds reasonable to the people present here</p>



<a name="182187889"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182187889" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182187889">(Nov 29 2019 at 15:58)</a>:</h4>
<p><span class="user-mention" data-user-id="133247">@bjorn3</span> oh right, I see now. well yes, that could work. I am personally of the opinion this is a cleaner solution though.</p>



<a name="182187921"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182187921" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182187921">(Nov 29 2019 at 15:58)</a>:</h4>
<blockquote>
<p>did Niko end up leaving notes on his thoughts about the design doc? I know he told me he would... but no worries if not.</p>
</blockquote>
<p>I  don't know if they had time, to be honest</p>



<a name="182187942"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182187942" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182187942">(Nov 29 2019 at 15:58)</a>:</h4>
<p>yep, understandable <span class="user-mention" data-user-id="116083">@pnkfelix</span></p>



<a name="182187951"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182187951" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182187951">(Nov 29 2019 at 15:58)</a>:</h4>
<p>he can always leave post-hoc comments, no problem.</p>



<a name="182187983"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182187983" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182187983">(Nov 29 2019 at 15:59)</a>:</h4>
<p>Anyway, all of my comments at the end here are generally just to say that it seems like people are generally okay with moving forward with what you've laid out, at least the Essential portion</p>



<a name="182187996"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182187996" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182187996">(Nov 29 2019 at 15:59)</a>:</h4>
<p>(he'd done an initial review of the design doc some weeks ago, he told me, and we only discussed some very minor points. but obviously we can discuss any comments/concerns of his after he returns, if he has them.)</p>



<a name="182188000"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182188000" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182188000">(Nov 29 2019 at 15:59)</a>:</h4>
<p>I didn't allocate time to discuss the Non-Essentials.</p>



<a name="182188070"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182188070" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182188070">(Nov 29 2019 at 16:00)</a>:</h4>
<p>okay. there was some discussion of the intrinsic fn though... briefly?</p>



<a name="182188081"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182188081" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182188081">(Nov 29 2019 at 16:00)</a>:</h4>
<p>I opened <a href="#narrow/stream/131828-t-compiler/topic/REPL.3A.20dyn.20Debug.20intrinsic" title="#narrow/stream/131828-t-compiler/topic/REPL.3A.20dyn.20Debug.20intrinsic">https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/REPL.3A.20dyn.20Debug.20intrinsic</a> for that</p>



<a name="182188082"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182188082" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182188082">(Nov 29 2019 at 16:00)</a>:</h4>
<p>I replied to oli-obk's note on that on the design doc too.</p>



<a name="182188087"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182188087" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182188087">(Nov 29 2019 at 16:00)</a>:</h4>
<p>we can continue there</p>



<a name="182188092"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182188092" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182188092">(Nov 29 2019 at 16:00)</a>:</h4>
<p>I hope there's agreement that something of that sort is needed, roughly speaking</p>



<a name="182188093"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182188093" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182188093">(Nov 29 2019 at 16:00)</a>:</h4>
<p>Mostly it's me not getting it ^^</p>



<a name="182188095"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182188095" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182188095">(Nov 29 2019 at 16:00)</a>:</h4>
<p>ah okay</p>



<a name="182188100"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182188100" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182188100">(Nov 29 2019 at 16:00)</a>:</h4>
<p>that's fine</p>



<a name="182188131"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182188131" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182188131">(Nov 29 2019 at 16:01)</a>:</h4>
<p>the VFS thing can be discussed later. basically, it's an optimisation. something initially suggested by <span class="user-mention" data-user-id="116466">@Zoxc</span>, whom it might be good to get involved at some level.</p>



<a name="182188138"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182188138" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182188138">(Nov 29 2019 at 16:01)</a>:</h4>
<p>My main concern is one I alluded to at the beginning: Whether people trying to hack the compiler will encounter some piece of Interpreter-support functionality, and then get frustrated if they cannot find where it is used.</p>



<a name="182188147"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182188147" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182188147">(Nov 29 2019 at 16:01)</a>:</h4>
<p>but the idea is of course to do PRs for the "essential" bits first.</p>



<a name="182188149"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182188149" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182188149">(Nov 29 2019 at 16:01)</a>:</h4>
<p>But we've already outlined ways to mitigate that</p>



<a name="182188158"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182188158" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182188158">(Nov 29 2019 at 16:01)</a>:</h4>
<p>and then more discussion on the non-essential parts can either be discussed in those PRs, special issues, or another design meeting.</p>



<a name="182188197"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182188197" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182188197">(Nov 29 2019 at 16:02)</a>:</h4>
<p>Sounds great</p>



<a name="182188202"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182188202" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182188202">(Nov 29 2019 at 16:02)</a>:</h4>
<p>okay, glad to hear <span class="user-mention" data-user-id="116083">@pnkfelix</span></p>



<a name="182188206"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182188206" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182188206">(Nov 29 2019 at 16:02)</a>:</h4>
<p>Does anyone have any questions?</p>



<a name="182188232"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182188232" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182188232">(Nov 29 2019 at 16:02)</a>:</h4>
<p>Doesn't look like it. I'm going to declare this meeting to be over, then.</p>



<a name="182188246"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182188246" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182188246">(Nov 29 2019 at 16:03)</a>:</h4>
<p><span class="user-mention" data-user-id="133247">@bjorn3</span> I have some time free now after the meeting (if I can keep my focus!), so if you want to stay and discuss alternative Cranelift backend stuff, for a bit, that's cool with me.</p>



<a name="182188251"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182188251" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182188251">(Nov 29 2019 at 16:03)</a>:</h4>
<p>Thanks to <span class="user-group-mention" data-user-group-id="897">@T-compiler/meeting</span> for attending. And thanks to <span class="user-mention" data-user-id="124069">@Alexander Regueiro</span> for all the work you've put into this</p>



<a name="182188252"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182188252" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182188252">(Nov 29 2019 at 16:03)</a>:</h4>
<p>Thanks for your time, everyone.</p>



<a name="182188267"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182188267" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182188267">(Nov 29 2019 at 16:03)</a>:</h4>
<p>(both in source code and in explanatory docs)</p>



<a name="182188273"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182188273" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182188273">(Nov 29 2019 at 16:03)</a>:</h4>
<p>Great we could sort this out. :-)</p>



<a name="182188281"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182188281" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182188281">(Nov 29 2019 at 16:03)</a>:</h4>
<p>No problem <span class="user-mention" data-user-id="116083">@pnkfelix</span></p>



<a name="182188344"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182188344" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> bjorn3 <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182188344">(Nov 29 2019 at 16:04)</a>:</h4>
<p><span class="user-mention" data-user-id="124069">@Alexander Regueiro</span> Can we talk in about an hour? It's time for diner.</p>



<a name="182188349"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182188349" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182188349">(Nov 29 2019 at 16:04)</a>:</h4>
<p>Cheerio.</p>



<a name="182188365"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182188365" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182188365">(Nov 29 2019 at 16:05)</a>:</h4>
<p><span class="user-mention" data-user-id="133247">@bjorn3</span> that should work, I think. I'll create a separate topic for it. see you at 5:00 GMT?</p>



<a name="182188398"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182188398" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182188398">(Nov 29 2019 at 16:05)</a>:</h4>
<p>I also opened <a href="#narrow/stream/131828-t-compiler/topic/REPL.3A.20closure.20vs.20locals" title="#narrow/stream/131828-t-compiler/topic/REPL.3A.20closure.20vs.20locals">https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/REPL.3A.20closure.20vs.20locals</a> for the closure <code>user_fn</code> discussion</p>



<a name="182188465"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182188465" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182188465">(Nov 29 2019 at 16:06)</a>:</h4>
<p>okay, sounds fair</p>



<a name="182193581"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182193581" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182193581">(Nov 29 2019 at 17:34)</a>:</h4>
<p><span class="user-mention" data-user-id="116083">@pnkfelix</span> BTW, would you mind leaving a brief comment on my design doc issue at some point, just so people can see that we've approved the non-essential points? Just as a sort of indication we're moving forward with PRs, and that non-essential points are also being discussed now, but won't have PRs in the immediate future. :-)</p>



<a name="182201615"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182201615" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182201615">(Nov 29 2019 at 20:10)</a>:</h4>
<p><span class="user-mention" data-user-id="124069">@Alexander Regueiro</span> even better: someone (maybe me) will be posting a summary of today's meeting on the compiler-team site.</p>



<a name="182201706"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/design%20meeting%202019-11-29/near/182201706" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alexander Regueiro <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/design.20meeting.202019-11-29.html#182201706">(Nov 29 2019 at 20:13)</a>:</h4>
<p><span class="user-mention" data-user-id="116083">@pnkfelix</span> ah, super. cheers.</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>